package cn.butcher21.view;

//
//import cn.butcher21.dao.GoodsDao;
//import cn.butcher21.dao.SaleDao;
//import cn.butcher21.dao.UserDao;
//import cn.butcher21.pojo.MyGoods;
//import cn.butcher21.pojo.Sale;
//import cn.butcher21.pojo.SaleData;
//import cn.butcher21.pojo.User;
//import cn.butcher21.utils.Day7;
//import cn.butcher21.utils.MakeTradeId;
//import cn.butcher21.utils.Pay;
//import javafx.application.Platform;
//import javafx.collections.FXCollections;
//import javafx.collections.ObservableList;
//import javafx.event.ActionEvent;
//import javafx.event.EventHandler;
//import javafx.fxml.FXML;
//import javafx.fxml.FXMLLoader;
//import javafx.scene.Parent;
//import javafx.scene.Scene;
//import javafx.scene.chart.BarChart;
//import javafx.scene.chart.CategoryAxis;
//import javafx.scene.chart.NumberAxis;
//import javafx.scene.chart.XYChart;
//import javafx.scene.control.*;
//import javafx.scene.control.cell.PropertyValueFactory;
//import javafx.scene.input.MouseEvent;
//import javafx.stage.Stage;
//import javafx.stage.WindowEvent;
//
//import java.io.IOException;
//import java.sql.SQLException;
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//
public class IndexController {
}
//
//    @FXML
//    private TableView<User> userTable;
//
//    @FXML
//    private TableColumn<User, String> t_user_name;
//
//    @FXML
//    private TableColumn<User, String> t_user_password;
//
//    @FXML
//    private Button addBtn;
//
//    @FXML
//    private TextField username;
//
//    @FXML
//    private TextField password;
//
//    @FXML
//    private Button delBtn;
//
//    @FXML
//    private Button clearBtn;
//
//    @FXML
//    private Label userTips;
//
//    @FXML
//    private TableView<SaleData> saleTable;
//
//    @FXML
//    private Button cashBtn;
//
//    @FXML
//    private Button custScanBtn;
//
//    @FXML
//    private Button gunBtn;
//
//    @FXML
//    private TextField total;
//
//    @FXML
//    private TableColumn<SaleData, String> s_id;
//
//    @FXML
//    private TableColumn<SaleData, String> s_name;
//
//    @FXML
//    private TableColumn<SaleData, Double> s_price;
//
//    @FXML
//    private TableColumn<SaleData, Integer> s_count;
//
//    @FXML
//    private TableColumn<SaleData, Double> s_total;
//
//    @FXML
//    private Label cashier;
//
//    @FXML
//    private Label saleTips;
//
//    @FXML
//    private TextField scanId;
//
//    @FXML
//    private TableView<MyGoods> stockTable;
//    @FXML
//    private TableColumn<MyGoods, String> g_id;
//
//    @FXML
//    private TableColumn<MyGoods, String> g_name;
//
//    @FXML
//    private TableColumn<MyGoods, Integer> g_count;
//
//    @FXML
//    private TableColumn<MyGoods, Double> g_price;
//
//    @FXML
//    private TableColumn<MyGoods, Double> g_cost;
//
//    @FXML
//    private TableColumn<MyGoods, String> g_inMan;
//
//    @FXML
//    private Button inBtn;
//
//    @FXML
//    private TextField id;
//
//    @FXML
//    private TextField name;
//
//    @FXML
//    private TextField count;
//
//    @FXML
//    private TextField price;
//
//    @FXML
//    private TextField cost;
//
//    @FXML
//    private Button clearGoodsBtn;
//
//    @FXML
//    private Button delGoodsBtn;
//
//    @FXML
//    private Button updateGoodsBtn;
//
//    @FXML
//    private Label goodsTips;
//
//    @FXML
//    private BarChart<String, Number> saleChart;
//
//    @FXML
//    private CategoryAxis xAxis;
//
//    @FXML
//    private NumberAxis yAxis;
//
//
//    public void loadUserTableData() {
//        //显示用户数据
//        UserDao userDao = new UserDao();
//        try {
//            List<User> list = userDao.selectUserS();
//            ObservableList<User> users = FXCollections.observableArrayList();
//            for (User user : list) {
//                users.add(user);
//            }
//            t_user_name.setCellValueFactory(new PropertyValueFactory<User, String>("name"));
//            t_user_password.setCellValueFactory(new PropertyValueFactory<User, String>("password"));
//            userTable.setItems(users);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        } catch (ClassNotFoundException e) {
//            e.printStackTrace();
//        }
//    }
//
//    public void loadSaleTableData() {
//
//        ObservableList<SaleData> saleData = FXCollections.observableArrayList();
//        for (SaleData s : saleDatas) {
//            saleData.add(s);
//        }
//        s_id.setCellValueFactory(new PropertyValueFactory<SaleData, String>("id"));
//        s_name.setCellValueFactory(new PropertyValueFactory<SaleData, String>("name"));
//        s_count.setCellValueFactory(new PropertyValueFactory<SaleData, Integer>("count"));
//        s_price.setCellValueFactory(new PropertyValueFactory<SaleData, Double>("price"));
//        s_total.setCellValueFactory(new PropertyValueFactory<SaleData, Double>("total"));
//        saleTable.setItems(saleData);
//    }
//
//    public void loadGoodsTableData() {
//        //显示用户数据
//        GoodsDao goodsDao = new GoodsDao();
//        try {
//            List<MyGoods> list = goodsDao.select();
//            ObservableList<MyGoods> goods = FXCollections.observableArrayList();
//            for (MyGoods goods1 : list) {
//                goods.add(goods1);
//            }
//            g_id.setCellValueFactory(new PropertyValueFactory<MyGoods, String>("id"));
//            g_name.setCellValueFactory(new PropertyValueFactory<MyGoods, String>("name"));
//            g_cost.setCellValueFactory(new PropertyValueFactory<MyGoods, Double>("cost"));
//            g_price.setCellValueFactory(new PropertyValueFactory<MyGoods, Double>("price"));
//            g_count.setCellValueFactory(new PropertyValueFactory<MyGoods, Integer>("count"));
//            g_inMan.setCellValueFactory(new PropertyValueFactory<MyGoods, String>("inMan"));
//            stockTable.setItems(goods);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        } catch (ClassNotFoundException e) {
//            e.printStackTrace();
//        }
//    }
//
//    public void showChart() {
//
//
//        xAxis.setCategories(Day7.get());
//        xAxis.setLabel("日期");
//        yAxis.setLabel("数量");
//
//        //Prepare XYChart.Series objects by setting data
//        XYChart.Series<String, Number> series1 = new XYChart.Series();
//        series1.setName("销量");
//        for (String s : Day7.get()) {
//            series1.getData().add(new XYChart.Data(s, 1.0));
//        }
//
//        XYChart.Series<String, Number> series2 = new XYChart.Series();
//        series2.setName("成交额");
//        for (String s : Day7.get()) {
//            series2.getData().add(new XYChart.Data(s, 3.0));
//        }
//
//
//        XYChart.Series<String, Number> series3 = new XYChart.Series();
//        series3.setName("利润");
//        for (String s : Day7.get()) {
//            series3.getData().add(new XYChart.Data(s, 2.0));
//        }
//        saleChart.getData().addAll(series2);
//        saleChart.getData().addAll(series1);
//        saleChart.getData().addAll(series3);
//    }
//
//    public static List<SaleData> saleDatas = new ArrayList<SaleData>(); // 显示在销售表的数据
//    public static List<Sale> sales = new ArrayList<Sale>(); //存入数据库的销售表的数据
//
//    public static String sId = "";
//
//    /**
//     * 在fxml文件完成载入时自动被调用
//     */
//    @FXML
//    private void initialize() {
//        loadUserTableData();
//        loadGoodsTableData();
//        cashier.setText("收银员：" + LoginController.sessionUsername);
//
//        //启动一个线程监听销售有无商品编号输入
//        Thread t_saleScan = new Thread(new Runnable() {
//            SaleDao saleDao = new SaleDao();
//            int i = 0;
//
//            public void run() {
//                while (true) {
//                    try {
//                        Thread.sleep(1000);
//                    } catch (InterruptedException e) {
//                        e.printStackTrace();
//                    }
//                    String msg = scanId.getText();
//                    if (msg.equals("")) {
//                        System.out.println("监听中" + (++i) + "---无商品，当前商品数量" + saleDatas.size());
//                        // 没有商品
//                    } else {
//                        // 有商品输入
//                        System.out.println("监听中" + (++i) + "---有商品，当前商品数量" + saleDatas.size());
//                        try {
//                            SaleData sale = saleDao.getSale(msg);
//                            Sale sale1 = new Sale();
//                            sale1.setGid(sale.getId());
//                            sale1.setCount(sale.getCount());
//                            if (sId.equals("")) {
//                                sId = MakeTradeId.get();
//                            }
//                            sale1.setSid(sId);
//                            sale1.setSaleMan(LoginController.sessionUsername);
//                            if (sale.getId() != null) {
//                                saleDatas.add(sale);
//                                sales.add(sale1);
//                                loadSaleTableData();
//                                scanId.setText("");
//                                double sum = 0;
//                                for (SaleData data : saleDatas) {
//                                    sum += data.getTotal();
//                                }
//                                total.setText(String.valueOf(sum));
//                            }
//
//                        } catch (SQLException e) {
//                            e.printStackTrace();
//                        } catch (IOException e) {
//                            e.printStackTrace();
//                        } catch (ClassNotFoundException e) {
//                            e.printStackTrace();
//                        }
//                    }
//                }
//            }
//        });
//        t_saleScan.start();
//
//        showChart();
//    }
//
//    /**
//     * 添加用户
//     *
//     * @param event 事件
//     */
//    @FXML
//    void add(ActionEvent event) {
//        if (username.getText().equals("") || password.getText().equals("")) {
//            userTips.setText("用户名/密码呢?﹏?");
//        } else {
//
//            UserDao userDao = new UserDao();
//
//            try {
//                if (userDao.checkUserExist(username.getText())) {
//                    userDao.update(username.getText(), password.getText());
//                    userTips.setText(username.getText() + "更新成功≧０≦");
//                } else {
//                    boolean add = userDao.add(username.getText(), password.getText());
//                    userTips.setText(username.getText() + "添加成功≧０≦");
//                }
//                loadUserTableData();
//            } catch (SQLException e) {
//                e.printStackTrace();
//                userTips.setText("糟了，失败了≧︿≦");
//            } catch (IOException e) {
//                e.printStackTrace();
//                userTips.setText("糟了，失败了≧︿≦");
//            } catch (ClassNotFoundException e) {
//                e.printStackTrace();
//                userTips.setText("糟了，失败了≧︿≦");
//            }
//        }
//    }
//
//    /**
//     * 清空用户添加输入框
//     *
//     * @param event 事件
//     */
//    @FXML
//    void clear(ActionEvent event) {
//        userTips.setText("");
//        username.setText("");
//        password.setText("");
//    }
//
//    @FXML
//    void clearGoodsLine(ActionEvent event) {
//        id.setText("");
//        name.setText("");
//        count.setText("");
//        price.setText("");
//        cost.setText("");
//    }
//
//    /**
//     * 删除一个用户
//     *
//     * @param event 事件
//     */
//    @FXML
//    void del(ActionEvent event) {
//        UserDao userDao = new UserDao();
//        try {
//            userDao.delete(username.getText());
//            userTips.setText(username.getText() + "删除成功≧０≦");
//
//            loadUserTableData();
//        } catch (SQLException e) {
//            e.printStackTrace();
//            userTips.setText("糟了，失败了≧︿≦");
//        } catch (IOException e) {
//            e.printStackTrace();
//            userTips.setText("糟了，失败了≧︿≦");
//        } catch (ClassNotFoundException e) {
//            e.printStackTrace();
//            userTips.setText("糟了，失败了≧︿≦");
//        }
//    }
//
//    @FXML
//    void getUserSelect(MouseEvent event) {
//        User user = userTable.getSelectionModel().getSelectedItem();
//        username.setText(user.getName());
//        password.setText(user.getPassword());
//    }
//
//    @FXML
//    void delGoods(ActionEvent event) {
//        if (id.getText().equals("")) {
//            goodsTips.setText("没有商品编号我删啥呀≧︿≦");
//        } else {
//            GoodsDao goodsDao = new GoodsDao();
//            try {
//                goodsDao.delete(id.getText());
//                goodsTips.setText(id.getText() + "号商品删除成功≧０≦");
//                clearGoodsLine(event);
//                loadGoodsTableData();
//            } catch (SQLException e) {
//                e.printStackTrace();
//                goodsTips.setText("糟了，失败了≧︿≦");
//            } catch (IOException e) {
//                e.printStackTrace();
//                goodsTips.setText("糟了，失败了≧︿≦");
//            } catch (ClassNotFoundException e) {
//                goodsTips.setText("糟了，失败了≧︿≦");
//                e.printStackTrace();
//            }
//        }
//
//    }
//
//    @FXML
//    void intoStock(ActionEvent event) {
//        if (id.getText().equals("") | name.getText().equals("") | price.getText().equals("") | count.getText().equals("") | cost.getText().equals("")) {
//            goodsTips.setText("商品信息要填写完整呀≧︿≦");
//        } else {
//            GoodsDao goodsDao = new GoodsDao();
//            MyGoods goods = new MyGoods();
//            goods.setId(id.getText());
//            goods.setName(name.getText());
//            goods.setCount(Integer.parseInt(count.getText()));
//            goods.setPrice(Double.parseDouble(price.getText()));
//            goods.setCost(Double.parseDouble(cost.getText()));
//            goods.setInMan(LoginController.sessionUsername);
//            try {
//                goodsDao.add(goods);
//                goodsTips.setText(id.getText() + "号商品添加成功≧０≦");
//                clearGoodsLine(event);
//                loadGoodsTableData();
//            } catch (SQLException e) {
//                goodsTips.setText(id.getText() + "号商品已存在，您可以更新或删除≧︿≦");
//                e.printStackTrace();
//            } catch (IOException e) {
//                goodsTips.setText(id.getText() + "号商品已存在，您可以更新或删除≧︿≦");
//                e.printStackTrace();
//            } catch (ClassNotFoundException e) {
//                goodsTips.setText(id.getText() + "号商品已存在，您可以更新或删除≧︿≦");
//                e.printStackTrace();
//            }
//        }
//
//    }
//
//    @FXML
//    void updateGoods(ActionEvent event) {
//        if (id.getText().equals("") | name.getText().equals("") | count.getText().equals("")) {
//            goodsTips.setText("至少要填编号、名字、数量≧︿≦");
//        } else {
//            GoodsDao goodsDao = new GoodsDao();
//            MyGoods goods = new MyGoods();
//            goods.setId(id.getText());
//            goods.setName(name.getText());
//            goods.setCount(Integer.parseInt(count.getText()));
//            goods.setInMan(LoginController.sessionUsername);
//            try {
//                goodsDao.update(goods);
//                goodsTips.setText(id.getText() + "号商品更新成功≧０≦");
//                clearGoodsLine(event);
//                loadGoodsTableData();
//            } catch (SQLException e) {
//                e.printStackTrace();
//            } catch (IOException e) {
//                e.printStackTrace();
//            } catch (ClassNotFoundException e) {
//                e.printStackTrace();
//            }
//        }
//    }
//
//    @FXML
//    void getGoodsSelect(MouseEvent event) {
//        MyGoods goods = stockTable.getSelectionModel().getSelectedItem();
//        if (goods != null) {
//            id.setText(goods.getId());
//            name.setText(goods.getName());
//            count.setText(String.valueOf(goods.getCount()));
//            price.setText(String.valueOf(goods.getPrice()));
//            cost.setText(String.valueOf(goods.getCost()));
//        }
//
//    }
//
//
//    public static double sum = 0;
//
//    public static Stage payByCashStage;
//    @FXML
//    void payByCash(ActionEvent event) {
//        if (total.getText().equals("")) {
//
//        } else {
//            sum = Double.parseDouble(total.getText());
//            payByCashStage = new Stage();
//            Parent root = null;
//            try {
//                root = FXMLLoader.load(getClass().getResource("cash.fxml"));
//                payByCashStage.setTitle("现金付款");
//                payByCashStage.setScene(new Scene(root, 600, 400));
//                payByCashStage.show();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
//    }
//
//
//    @FXML
//    void payByCustScan(ActionEvent event) throws IOException, InterruptedException {
//        sum = Double.parseDouble(total.getText());
//        final String id = MakeTradeId.get();
//        final Pay pay = new Pay();
//        System.out.println(id);
//        System.out.println(total.getText());
//        Thread t1 = new Thread(new Runnable() {
//            @Override
//            public void run() {
//                pay.cusScan(id, total.getText(), LoginController.sessionUsername);
//            }
//        });
//        Thread t2 = new Thread(new Runnable() {
//            @Override
//            public void run() {
//                Platform.runLater(new Runnable() {
//                    @Override
//                    public void run() {
//                        Stage stage = new Stage();
//                        Parent root = null;
//                        try {
//                            root = FXMLLoader.load(getClass().getResource("cusScan.fxml"));
//                            stage.setTitle("客户扫码");
//                            stage.setScene(new Scene(root, 500, 400));
//                            stage.show();
//                            stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
//                                @Override
//                                public void handle(WindowEvent event) {
//                                    saleDatas.clear();
//                                    System.out.println("商品已清空");
//                                    SaleDao saleDao = new SaleDao();
//                                    try {
//                                        saleDao.add(IndexController.sales);
//                                        IndexController.sales.clear();
//                                    } catch (SQLException e) {
//                                        e.printStackTrace();
//                                    } catch (IOException e) {
//                                        e.printStackTrace();
//                                    } catch (ClassNotFoundException e) {
//                                        e.printStackTrace();
//                                    }
//                                }
//                            });
//                        } catch (IOException e) {
//                            e.printStackTrace();
//                        }
//                    }
//                });
//            }
//        });
//        t1.start();
//        t1.join();
//        t2.start();
//    }
//
//    @FXML
//    void payBygunScan(ActionEvent event) throws IOException {
//        sum = Double.parseDouble(total.getText());
//        System.out.println("店家应付" + sum);
//        Stage stage = new Stage();
//        Parent root = FXMLLoader.load(getClass().getResource("weScan.fxml"));
//        stage.setTitle("客户扫码");
//        stage.setScene(new Scene(root, 600, 400));
//        stage.show();
//        stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
//            @Override
//            public void handle(WindowEvent event) {
//                saleDatas.clear();
//                System.out.println("商品已清空");
//            }
//        });
//    }
//}
